package com.example.practica_tresenraya;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
/**
 * Clase contenedora de mi MainActivity
 * @author Francisco 
 * @version 1.0
 *
 */
public class MainActivity extends Activity {
	private ArrayList arrayJuego = new ArrayList();
	private ArrayList array = new ArrayList();
	private TextView tv1;
	private Button bt1;
	private Button bt2;
	private Button bt3;

	private Button bt4;
	private Button bt5;
	private Button bt6;

	private Button bt7;
	private Button bt8;
	private Button bt9;

	private RadioGroup rg1;
	private RadioButton r1;
	private RadioButton r2;

	private Button btGo;

	private MyListenerBotones listener;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// Referencio los botones
		this.referenciarBotones();

		// Agrego el listener
		listener = new MyListenerBotones();
		this.aniadirListener(listener);

		// Le paso el Array de botones al listener
		this.aniadirBotones(array,arrayJuego, listener);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	/**
	 * Metodo para referenciar los botones creados en el ActivityMain y el xml
	 * de la interfaz grafica
	 * 
	 */
	public void referenciarBotones() {
		tv1 = (TextView) findViewById(R.id.texto);

		bt1 = (Button) findViewById(R.id.boton1); bt1.setEnabled(false);
		bt2 = (Button) findViewById(R.id.boton2); bt2.setEnabled(false);
		bt3 = (Button) findViewById(R.id.boton3); bt3.setEnabled(false);

		bt4 = (Button) findViewById(R.id.boton4); bt4.setEnabled(false);
		bt5 = (Button) findViewById(R.id.boton5); bt5.setEnabled(false);
		bt6 = (Button) findViewById(R.id.boton6); bt6.setEnabled(false);

		bt7 = (Button) findViewById(R.id.boton7); bt7.setEnabled(false);
		bt8 = (Button) findViewById(R.id.boton8); bt8.setEnabled(false);
		bt9 = (Button) findViewById(R.id.boton9); bt9.setEnabled(false);

		rg1 = (RadioGroup) findViewById(R.id.rg1);
		r1 = (RadioButton) findViewById(R.id.opc1);
		r2 = (RadioButton) findViewById(R.id.opc2);

		btGo = (Button) findViewById(R.id.enviar);

	}

	/**
	 * Metodo para aplicar el listener a todos las vistas de mi ActivityMain
	 * 
	 * @param listener
	 *            listener a implementar en los botones/vistas
	 */
	public void aniadirListener(MyListenerBotones listener) {
		listener.setT1(tv1);

		bt1.setOnClickListener(listener);
		bt2.setOnClickListener(listener);
		bt3.setOnClickListener(listener);

		bt4.setOnClickListener(listener);
		bt5.setOnClickListener(listener);
		bt6.setOnClickListener(listener);

		bt7.setOnClickListener(listener);
		bt8.setOnClickListener(listener);
		bt9.setOnClickListener(listener);

		btGo.setOnClickListener(listener);
	}

	/**
	 * metodo para almacenar los botones en un mismo ArrayList y enviarlos en el
	 * listener deseado
	 * 
	 * @param arr
	 *            Array donde almacenare el conjunto de botones
	 * @param listener
	 *            listener al cual le dare el array con todos mis botones
	 */
	public void aniadirBotones(ArrayList arr, ArrayList arrjuego, MyListenerBotones listener) {
		arrjuego.add(bt1);
		arrjuego.add(bt2);
		arrjuego.add(bt3);
		arrjuego.add(bt4);
		arrjuego.add(bt5);
		arrjuego.add(bt6);
		arrjuego.add(bt7);
		arrjuego.add(bt8);
		arrjuego.add(bt9);
		arr.add(btGo);
		arr.add(rg1);
		arr.add(r1);
		arr.add(r2);
		arr.add(tv1);
		listener.setArrayBotones(arr);
		listener.setArrayBotonesJuego(arrjuego);

	}
}
